There are presently hundreds of channels available to TV viewers from cable, broadcast, satellite, and other systems. This number is steadily increasing. Furthermore, new uses are being developed for TV channels in addition to regular analog or broadcast television. Such new uses include digital video, interactive programming, networking of computer data and programs, hypermedia systems, etc. The current method of changing an analog television tuner from one frequency or channel to another and then watching the program on that channel does not work well in the new environment for several reasons. One reason is that some or many channels contain digital data, possible compressed, which looks like noise if viewed on an analog TV. Another reason is that some channels may contain only partial programming content and wouldn't be useful if selected directly. For instance, a channel might contain only a single, fixed camera view at a sporting event from a number of camera views available on different channels. Rather than looking at this fixed view, a viewer might like to be able to conveniently switch between views without memorizing different channel numbers, such as by simply manipulating a remote control unit's directional button.
As another example, some channels can be viewed in more than one way, as with channels having audio tracks or sub-channels recorded in more than one language. In these cases, simply selecting a channel is not specific enough--more information must be given regarding desired sub-channels.
Furthermore, future cable distribution systems will be providing services beyond traditional broadcast services. In many cases, cable subscribers will have available a private, bi-directional, digital communications channel with a cable headend. The subscribers will be able to use this private channel not only for receiving traditional television video and audio, but also for interactive tasks such as shopping, banking, and information retrieval. Another use of the channel will be for entertainment services such as movies-on-demand, where a viewer will be able to pick from a large library of movie titles and to request any of those movie titles for viewing at any time.
To make use of these extended cable services, it is contemplated that a somewhat sophisticated subscriber interface unit (often referred to as a set-top box or STB), connected in a viewer's home to a video display device such as a television, will provide an interface between the viewer and the cable headend (the most immediate source of programming). If a viewer wants to watch a broadcast TV channel, the STB will request a digital feed of the TV channel and will display the broadcast channel on the viewer's TV. Other services, however, will be available as applications which will be downloaded from the headend and executed on the STB itself. For instance, a shopping service might be available through a user interface or front-end which executes on the STB itself. Similarly, movies-on-demand might be selectable only through a user interface which runs on the STB. Rather than storing all possible applications at the STB, the applications will be stored at the headend and downloaded only as necessary.
The convenience of selecting between the great number of services available on such a system is an important factor in whether services will be accepted and used by typical viewers. However, the problem of navigating among the various services cannot be suitably dealt with by traditional computer interfaces. A command line interface is impractical because of the unavailability of a keyboard in most STBs. A graphical user interface could be adapted, but a TV's limited resolution would limit the number of symbols which could be simultaneously displayed, thereby mandating a very deep menu structure. Also, cursor control can be somewhat awkward with a button-type remote control device.
Service selections could be made via large numbers of buttons on remote controls. With the increasing numbers of available channels, however, this would soon become unworkable. Alternatively, a hierarchical structure of on-screen menus could be provided, wherein individual selections could be made with number keys. However, the menu structure would need to be very deep to accommodate large numbers of channels. Various other methods might be employed for service selection. However, no existing methods are completely satisfactory.